/********************************** (C) COPYRIGHT *******************************
 * File Name          : main.c
 * Author             : WCH
 * Version            : V1.0.0
 * Date               : 2021/06/06
 * Description        : Main program body.
 *********************************************************************************
 * Copyright (c) 2021 Nanjing Qinheng Microelectronics Co., Ltd.
 * Attention: This software (modified or not) and binary are used for 
 * microcontroller manufactured by Nanjing Qinheng Microelectronics.
 *******************************************************************************/

/*
 *@Note
 *GPIO routine:
 *PA0 push-pull output.
 *
 */

#include "debug.h"
#include "arm_2d.h"
#include "arm_2d_disp_adapter_0.h"
#include "arm_2d_scene_watch.h"

#include "debug.h"
#include "string.h"
#include "lcd.h"
#include "flash.h"
#include "config.h"


const uint16_t appleRGB565[55*55] = {
/* -0- */
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x9643, 0x8e62, 0x74c2, 0x9622, 0x9662, 0x9662, 0x96a2, 0x6c42, 0x63c1, 0xa682, 0x9e61,
0x7ea0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 
/* -1- */
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x9542, 0x8e22, 0x7d22, 0x9662, 0x9662, 0x9e82, 0x9ea2, 0x9e82, 0xa6a2, 0x9ea2, 0x9ea2, 0xa6c2, 0x9e82, 0x9ea3,
0xa6c3, 0x9ea3, 0xa6c4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 
/* -2- */
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x79e7, 0x8e22, 0x8e02, 0x9642, 0x9ea2, 0x9682, 0x9e82, 0x9663, 0x9e83, 0x9e82, 0x9ea2, 0xa6a3, 0xa6a3, 0xa6c3, 0xa6c3, 0xaf03,
0xb724, 0xaee4, 0xaee4, 0xaec3, 0xaf03, 0xa682, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 
/* -3- */
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8e22,
0x8e02, 0x8e42, 0x9682, 0x9682, 0x9662, 0x9662, 0x9663, 0x9e83, 0x9e83, 0xa6c3, 0xaec3, 0xaee4, 0xaee4, 0xaee4, 0xaee4, 0xaee4,
0xaee4, 0xaee4, 0xb724, 0xb744, 0xaee3, 0xb6e3, 0xb704, 0x7be0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 
/* -4- */
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5102, 0x85e1, 0x8e22,
0x9662, 0x9663, 0x9662, 0x9662, 0x9663, 0x9663, 0x9e83, 0xa683, 0xa6a2, 0xaee4, 0xaee4, 0xaee4, 0xaee4, 0xaee4, 0xaee4, 0xaee4,
0xaee4, 0xaee4, 0xaee4, 0xaec4, 0xb704, 0xb724, 0xb724, 0xb704, 0x5222, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 
/* -5- */
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0007, 0x5182, 0x8522, 0x9662, 0x9662,
0x9662, 0x9662, 0x9662, 0x9663, 0x9e64, 0x9e64, 0x9e83, 0xa6a2, 0xaec3, 0xaee4, 0xaee4, 0xaee4, 0xaee4, 0xaee4, 0xaee4, 0xaee4,
0xaee4, 0xaee4, 0xaee4, 0xaec4, 0xaee4, 0xb704, 0xb724, 0xbf24, 0xc724, 0xc704, 0x84a3, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 
/* -6- */
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5082, 0x73c2, 0x7cc2, 0x9682, 0x8e42, 0x9662,
0x9662, 0x9662, 0x9663, 0x9664, 0x9e64, 0x9e64, 0x9e84, 0xa6c4, 0xaee4, 0xaee4, 0xaee4, 0xaee4, 0xaee4, 0xaee4, 0xaee4, 0xaee4,
0xaee4, 0xaee4, 0xaee4, 0xaee4, 0xaee4, 0xb704, 0xb704, 0xb704, 0xbf24, 0xc764, 0xae64, 0xae44, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 
/* -7- */
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3803, 0x8561, 0x9662, 0x8e62, 0x8e42, 0x9662, 0x9662,
0x9662, 0x9662, 0x9663, 0x9664, 0x9e64, 0x9e83, 0xa6a3, 0xaee4, 0xaee4, 0xaee4, 0xaee4, 0xaee4, 0xaee4, 0xaee4, 0xaee4, 0xaee4,
0xaee4, 0xaee4, 0xaee4, 0xaee4, 0xaee4, 0xb704, 0xb704, 0xb704, 0xb704, 0xb704, 0xbf64, 0xbf24, 0xbf24, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 
/* -8- */
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4003, 0x8562, 0x9642, 0x8e42, 0x8e42, 0x9642, 0x9662, 0x8e22,
0x9662, 0x9662, 0x9663, 0x9664, 0x9e83, 0x9ea2, 0xa683, 0xaee4, 0xaee4, 0xaee4, 0xaee4, 0xaee4, 0xaee4, 0xaee4, 0xaee4, 0xaee4,
0xaee4, 0xaee4, 0xaee4, 0xaee4, 0xaee4, 0xb704, 0xb704, 0xb704, 0xb704, 0xb704, 0xb704, 0xbf44, 0xbf44, 0xbf04, 0xcf64, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 
/* -9- */
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2124, 0x8581, 0x8e42, 0x8e22, 0x8e42, 0x8e42, 0x9642, 0x9662, 0x9663,
0x9662, 0x9662, 0x9663, 0x9664, 0x9e63, 0x9ea2, 0xa6c3, 0xaee4, 0xaee4, 0xaee4, 0xaee4, 0xaee4, 0xaee4, 0xaee4, 0xaee4, 0xaee4,
0xb6e4, 0xaee4, 0xaee4, 0xaee4, 0xaee4, 0xb6e4, 0xb6e4, 0xb6e4, 0xb6e4, 0xb704, 0xb704, 0xb6e4, 0xbf44, 0xc744, 0xc724, 0xb6c4,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 
/* -10- */
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3807, 0x7ce1, 0x8622, 0x8e22, 0x8e22, 0x8e42, 0x8e42, 0x9642, 0x9662, 0x9662,
0x9662, 0x9662, 0x9663, 0x9664, 0x9e83, 0xa6a2, 0xaee3, 0xaee4, 0xaee4, 0xaee4, 0xaee4, 0xaee4, 0xaee4, 0xaee4, 0xaee4, 0xb6e4,
0xb6e4, 0xb6e4, 0xb6e4, 0xb6e4, 0xaee4, 0xb6e4, 0xb6e4, 0xb6e4, 0xb6e4, 0xb6e4, 0xaee4, 0xb704, 0xae84, 0x7364, 0x7364, 0x62e4,
0x0002, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 
/* -11- */
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x61a2, 0x7c82, 0x8642, 0x8e02, 0x8e22, 0x8e42, 0x8e42, 0x9642, 0x9662, 0x9662,
0x9662, 0x9e62, 0x9663, 0x9663, 0x9e82, 0x9ea3, 0xaee4, 0xaee4, 0xaee4, 0xaee4, 0xaee4, 0xaee4, 0xaee4, 0xaee4, 0xaee4, 0xb6e4,
0xb6e4, 0xb6e4, 0xb6e4, 0xb6e4, 0xaee4, 0xb6e4, 0xaee4, 0xaee4, 0xaee4, 0xb6e4, 0xb704, 0xa624, 0x7364, 0x6b24, 0x6b24, 0x6b44,
0x7c03, 0xffe9, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 
/* -12- */
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6b43, 0x7d02, 0x8622, 0x8602, 0x8e02, 0x8e22, 0x8e42, 0x8e42, 0x9662, 0x9662, 0x9662,
0x9662, 0x9e82, 0x9e82, 0xa682, 0x9e82, 0x9ea3, 0xa6e4, 0xaee4, 0xaee4, 0xaee4, 0xaee4, 0xaee4, 0xaee4, 0xaee4, 0xaee4, 0xb6e4,
0xb6e4, 0xb6e4, 0xb704, 0xaee4, 0xaec3, 0xaea3, 0xaec3, 0xaee4, 0xaee4, 0xaee4, 0xb724, 0x7c24, 0x6b04, 0x6b24, 0x6b24, 0x62c4,
0xae24, 0x5281, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 
/* -13- */
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7d62, 0x8602, 0x85e2, 0x8e02, 0x8e02, 0x8e42, 0x8e42, 0x9642, 0x9662, 0x9662, 0x9662,
0x9662, 0x9662, 0x9e82, 0x9e82, 0x9e82, 0x9ea3, 0xa6e4, 0xaee4, 0xaee4, 0xaee4, 0xaee4, 0xaee4, 0xaee4, 0xaee4, 0xaee4, 0xb6e4,
0xb6e4, 0xb6e4, 0xaec3, 0xa6a3, 0xa6a2, 0xa682, 0xa6a2, 0xa663, 0xa6a3, 0xa6c3, 0xb704, 0x7c44, 0x6304, 0x6b24, 0x6304, 0x8464,
0xc724, 0xa5c4, 0x1841, 0x0000, 0x0000, 0x0000, 0x0000, 
/* -14- */
0x0000, 0x0000, 0x0000, 0x0000, 0x75c2, 0x7da1, 0x7dc1, 0x7de1, 0x8e21, 0x8e02, 0x8e42, 0x8e42, 0x9642, 0x9662, 0x9662, 0x9662,
0x9662, 0x9662, 0x9e82, 0x9e82, 0x9e82, 0xa6a2, 0xaee3, 0xaee4, 0xaee4, 0xaee4, 0xaee4, 0xaee4, 0xaee4, 0xaee4, 0xaee4, 0xb6e4,
0xb6e4, 0xb704, 0xa6a3, 0xa682, 0xa682, 0xa682, 0xa682, 0x9602, 0x9e62, 0xa6c3, 0x8523, 0x5304, 0x5b04, 0x6304, 0x5ae4, 0x9524,
0xcf84, 0xcf85, 0xb684, 0x0000, 0x0000, 0x0000, 0x0000, 
/* -15- */
0x0000, 0x0000, 0x0000, 0x0000, 0x7d81, 0x7dc2, 0x85c2, 0x8602, 0x8e02, 0x8e02, 0x8e42, 0x8e42, 0x9642, 0x9662, 0x9662, 0x9662,
0x9662, 0x9662, 0x9e82, 0x9e82, 0x9e82, 0xa6a3, 0xaee4, 0xaee4, 0xaee4, 0xaee4, 0xaee4, 0xaee4, 0xaee4, 0xaee4, 0xaee4, 0xaee4,
0xb6e4, 0xaee4, 0xa6a2, 0xa682, 0xa6a2, 0x9e42, 0x95e2, 0x8582, 0x9602, 0x9e82, 0x7463, 0x4a84, 0x52c3, 0x52c4, 0x84a4, 0xc724,
0xc724, 0xcf44, 0xc724, 0xc724, 0x0000, 0x0000, 0x0000, 
/* -16- */
0x0000, 0x0000, 0x0000, 0x5b61, 0x7561, 0x7dc2, 0x85c2, 0x8e02, 0x8e02, 0x8e22, 0x8e42, 0x8e42, 0x8e42, 0x9682, 0x9662, 0x9662,
0x9662, 0x9662, 0x9e82, 0x9e83, 0x9e82, 0x9ea2, 0xa6c3, 0xaee4, 0xaee4, 0xaee4, 0xaee4, 0xaee4, 0xaee4, 0xaee4, 0xaee4, 0xaee4,
0xaee4, 0xaee4, 0xa6a2, 0xa682, 0x9e62, 0x9622, 0x8da2, 0x7d43, 0x95e2, 0x7ce2, 0x4a63, 0x4a83, 0x4a62, 0x5b03, 0xbf44, 0xbf04,
0xbf24, 0xcf44, 0xcf85, 0xc724, 0xd745, 0x0000, 0x0000, 
/* -17- */
0x0000, 0x0000, 0x0000, 0x75a2, 0x75a2, 0x7de2, 0x85e1, 0x85e1, 0x8e02, 0x8e22, 0x8e42, 0x9662, 0x8e42, 0x9662, 0x9662, 0x9662,
0x9662, 0x9662, 0x9662, 0x9e83, 0x9e82, 0xa6a2, 0xaec4, 0xaee4, 0xaee4, 0xaee4, 0xaee4, 0xaee4, 0xaee4, 0xaee4, 0xaee4, 0xaee4,
0xaee4, 0xaec4, 0xa6a2, 0xa682, 0x9602, 0x8da2, 0x8524, 0x7d03, 0x7d02, 0x5b62, 0x4a62, 0x4a62, 0x4222, 0x84e3, 0xb704, 0xb704,
0xb704, 0xc744, 0xcf64, 0xcf44, 0xcf64, 0x0000, 0x0000, 
/* -18- */
0x0000, 0x0000, 0x0000, 0x7541, 0x7de2, 0x85e2, 0x85e1, 0x8601, 0x8e02, 0x8e22, 0x8e42, 0x8e42, 0x9622, 0x9662, 0x9e82, 0x9e82,
0x9662, 0x9662, 0x9e82, 0x9e82, 0xa6c2, 0xaee3, 0xaee4, 0xaee4, 0xaee4, 0xaee4, 0xaee4, 0xaec4, 0xaee4, 0xaee4, 0xaee4, 0xb704,
0xb6e4, 0xaee4, 0xa6a2, 0x9e42, 0x8de2, 0x7d23, 0x74c3, 0x7462, 0x5302, 0x4222, 0x4262, 0x3a02, 0x7cc2, 0xaee3, 0xaee4, 0xb6c4,
0xb704, 0xbf44, 0xcf45, 0xd7a5, 0xade4, 0x0002, 0x0000, 
/* -19- */
0x0000, 0x0000, 0x2022, 0x6cc2, 0x7de2, 0x85c2, 0x85e2, 0x8e02, 0x8e02, 0x8e22, 0x8e42, 0x8e42, 0x9642, 0x9662, 0x9e82, 0x9e82,
0x9682, 0x9662, 0x9e82, 0xa6a2, 0xa6c3, 0xaec3, 0xaee3, 0xaee4, 0xaee4, 0xaee4, 0xaee4, 0xaee4, 0xaee4, 0xb704, 0xb704, 0xb704,
0xb704, 0xaec4, 0xa6a2, 0x9e22, 0x8da3, 0x7d03, 0x63e2, 0x4a82, 0x3a02, 0x3a22, 0x5b63, 0x8523, 0xa682, 0xa6a2, 0xaec4, 0xaec4,
0xbf04, 0xbf24, 0xc725, 0xcf65, 0xc704, 0xbee4, 0x0000, 
/* -20- */
0x0000, 0x0000, 0x6d22, 0x7582, 0x7dc1, 0x85e2, 0x85e2, 0x8602, 0x8602, 0x8e22, 0x8e42, 0x8e42, 0x8e42, 0x9662, 0x9ea2, 0x9e82,
0x9682, 0x9662, 0x9e82, 0xa6c2, 0xa6e3, 0xa6c3, 0xaee3, 0xaee4, 0xaee4, 0xaee4, 0xaee4, 0xaee4, 0xaf04, 0xb704, 0xb704, 0xb704,
0xb6e4, 0xaee4, 0xaee4, 0x9e42, 0x8543, 0x6c63, 0x42a1, 0x3a01, 0x42a2, 0x7462, 0x7d22, 0x9602, 0x9e42, 0xa6a2, 0xaec4, 0xaee4,
0xb704, 0xbf04, 0xbf24, 0xcf45, 0xd7a4, 0xa5a4, 0x0000, 
/* -21- */
0x0000, 0x0000, 0x6d22, 0x7de2, 0x7da2, 0x85c2, 0x85e2, 0x8602, 0x8e02, 0x85c2, 0x8e22, 0x8e42, 0x8e42, 0x9662, 0x9ea2, 0x9e82,
0x9662, 0x9e82, 0x9e82, 0xa6c2, 0xa6e3, 0xa6c3, 0xaee4, 0xaee4, 0xaee4, 0xaee4, 0xaee4, 0xb6e4, 0xb704, 0xb704, 0xb704, 0xb704,
0xb6e4, 0xb6e4, 0xaee3, 0x9603, 0x8523, 0x6422, 0x3a21, 0x5342, 0x6c63, 0x74a3, 0x8522, 0x95c2, 0x9602, 0xa682, 0xaec3, 0xaee4,
0xaee4, 0xb704, 0xbf24, 0xc744, 0xd7a5, 0x83a3, 0x0000, 
/* -22- */
0x0000, 0x2802, 0x6c22, 0x8602, 0x7dc2, 0x85e2, 0x85e2, 0x8602, 0x8e02, 0x8e22, 0x8e22, 0x8e42, 0x8e42, 0x8e42, 0x9e62, 0x9e62,
0x9662, 0x9e82, 0x9e82, 0x9ec2, 0xa6e3, 0xa6e4, 0xaee4, 0xaee4, 0xaee4, 0xaf04, 0xb704, 0xb704, 0xb704, 0xb704, 0xb704, 0xb704,
0xaee4, 0xb6e4, 0xaee4, 0xaea3, 0x9602, 0x74a2, 0x5342, 0x6422, 0x7cc3, 0x7ce4, 0x8563, 0x8dc2, 0x9622, 0xa682, 0xa6c3, 0xaee4,
0xaee4, 0xb704, 0xbf04, 0xbf24, 0xc745, 0x9d63, 0x73c2, 
/* -23- */
0x0000, 0x6422, 0x7502, 0x7de2, 0x7dc2, 0x85c2, 0x85e2, 0x8602, 0x8602, 0x8e02, 0x8e22, 0x8e42, 0x8e42, 0x8e42, 0x9e62, 0x9662,
0x9662, 0x9e82, 0x9e82, 0x9ec2, 0xa6e2, 0xa6e4, 0xaee4, 0xaee4, 0xaee4, 0xb704, 0xb704, 0xb704, 0xbf04, 0xb704, 0xb704, 0xb704,
0xb704, 0xb6e4, 0xb6e4, 0xb6e4, 0xaec3, 0x8d82, 0x6c42, 0x6c82, 0x7ce3, 0x7d04, 0x8583, 0x9602, 0x9e62, 0xa682, 0xaea3, 0xb6e4,
0xb704, 0xbf04, 0xbf04, 0xbf04, 0xbf04, 0xbf64, 0x8cc3, 
/* -24- */
0x0000, 0x6ca1, 0x85e2, 0x7da2, 0x7dc2, 0x85c2, 0x85e2, 0x8602, 0x8602, 0x8e02, 0x8e22, 0x8e42, 0x8e42, 0x8e42, 0x9642, 0x9662,
0x9662, 0x9e82, 0x9e82, 0xa6c2, 0xa6e3, 0xaee4, 0xb6e4, 0xb6e4, 0xb6e4, 0xb704, 0xb704, 0xbf24, 0xc744, 0xbf24, 0xb704, 0xb704,
0xb704, 0xb704, 0xb6e4, 0xb6e4, 0xaec3, 0x9e42, 0x8582, 0x7d03, 0x8523, 0x8563, 0x95e2, 0x9e22, 0xa682, 0xa682, 0xa6a3, 0xb6e4,
0xb6e4, 0xbf04, 0xb704, 0xb704, 0xb704, 0xb744, 0x7b83, 
/* -25- */
0x0003, 0x5321, 0x7de2, 0x75a2, 0x7dc2, 0x85e2, 0x85e2, 0x85e2, 0x8602, 0x8e02, 0x8e02, 0x8e22, 0x8e42, 0x8e42, 0x8e42, 0x9662,
0x9662, 0x9682, 0x9ea2, 0xaec3, 0xaee4, 0xb6e4, 0xb6e4, 0xb6e4, 0xb704, 0xb724, 0xbf24, 0xc744, 0xc744, 0xc744, 0xb724, 0xb704,
0xb704, 0xb704, 0xaee4, 0xb6e4, 0xaec4, 0xaea3, 0x9e82, 0x8dc2, 0x95e2, 0x95e2, 0x95e2, 0x9e62, 0xa682, 0xa682, 0xa6a3, 0xb704,
0xb704, 0xb704, 0xb704, 0xb704, 0xb704, 0xb704, 0xaec3, 
/* -26- */
0x2221, 0x5381, 0x85e2, 0x75a2, 0x7da2, 0x85c2, 0x8602, 0x85e2, 0x8622, 0x8622, 0x8e02, 0x8e22, 0x8e42, 0x8e42, 0x8e42, 0x9662,
0x9662, 0x9e82, 0xa6a3, 0xaee3, 0xb6e4, 0xb6e4, 0xb704, 0xb704, 0xbf04, 0xbf44, 0xc744, 0xcf44, 0xcf44, 0xc744, 0xbf44, 0xb704,
0xb704, 0xb704, 0xb6e4, 0xb6e4, 0xaee4, 0xb704, 0xaec3, 0xa6a3, 0xa6a3, 0xa662, 0x9e63, 0xa6a2, 0xa6a3, 0xa6c3, 0xaee4, 0xaee4,
0xaee4, 0xb704, 0xb704, 0xaee4, 0xaee4, 0xaf04, 0xaee4, 
/* -27- */
0x64a2, 0x7582, 0x7da2, 0x75a2, 0x75a2, 0x85c2, 0x85e2, 0x85e2, 0x8e22, 0x8622, 0x8e02, 0x8e22, 0x8e42, 0x8e42, 0x8e22, 0x9662,
0x9662, 0x9e82, 0xa6a2, 0xb6e3, 0xb6e4, 0xb704, 0xb704, 0xbf04, 0xc704, 0xc744, 0xcf44, 0xcf44, 0xc744, 0xcf44, 0xc744, 0xbf04,
0xb704, 0xb6e4, 0xb704, 0xb704, 0xbf04, 0xbf04, 0xbf24, 0xb704, 0xaee4, 0xaea3, 0xaec3, 0xa6e3, 0xaee4, 0xb6e4, 0xb704, 0xb704,
0xaee4, 0xb6e4, 0xb6e4, 0xaee4, 0xaee4, 0xaf04, 0xaee3, 
/* -28- */
0x42c1, 0x75a2, 0x7d82, 0x7582, 0x7da2, 0x7dc2, 0x85e2, 0x8602, 0x8602, 0x8602, 0x8e02, 0x8e22, 0x8e42, 0x8e42, 0x9622, 0x8e02,
0x9682, 0xa682, 0xaea3, 0xaec4, 0xb6e4, 0xb704, 0xb704, 0xb704, 0xbf24, 0xc744, 0xc744, 0xcf44, 0xc744, 0xc744, 0xbf44, 0xbf24,
0xbf24, 0xb704, 0xbf04, 0xbf04, 0xbf04, 0xbf04, 0xbf04, 0xbf04, 0xb704, 0xaee4, 0xaee4, 0xb6e4, 0xaee4, 0xb704, 0xb6e4, 0xb6e4,
0xb6e4, 0xb6e4, 0xaee4, 0xaee4, 0xaee4, 0xaee4, 0xaee3, 
/* -29- */
0x3a21, 0x75a2, 0x7582, 0x7582, 0x7da2, 0x7dc2, 0x85c2, 0x85e2, 0x8602, 0x8e02, 0x8602, 0x8e02, 0x8e22, 0x8e42, 0x9642, 0x9642,
0x9e82, 0xaea2, 0xaec3, 0xaec3, 0xaee4, 0xb704, 0xb704, 0xb704, 0xbf24, 0xbf24, 0xc744, 0xcf44, 0xc744, 0xbf44, 0xbf44, 0xbf44,
0xc744, 0xbf24, 0xbf04, 0xbf04, 0xbf04, 0xbf04, 0xbf04, 0xbf04, 0xb704, 0xb6e4, 0xb704, 0xbf04, 0xb6e4, 0xb704, 0xb704, 0xb704,
0xb6e4, 0xb6e4, 0xaee4, 0xaee4, 0xaee4, 0xaee4, 0xaee4, 
/* -30- */
0x6d22, 0x7562, 0x7da1, 0x7582, 0x7da2, 0x7da1, 0x85c2, 0x85e2, 0x8602, 0x8622, 0x8602, 0x8e02, 0x8e22, 0x8e42, 0x9642, 0x9642,
0x9e82, 0xa6c3, 0xaec3, 0xaec3, 0xaec4, 0xb704, 0xb704, 0xbf24, 0xbf44, 0xc744, 0xc744, 0xc744, 0xc744, 0xc744, 0xbf44, 0xbf44,
0xc744, 0xc744, 0xbf24, 0xbf04, 0xbf04, 0xbf04, 0xbf04, 0xbf04, 0xb724, 0xb704, 0xbf04, 0xbf04, 0xb6e4, 0xbf04, 0xb704, 0xb704,
0xaee4, 0xaee4, 0xaee4, 0xaee4, 0xaee4, 0xaee4, 0xa6e3, 
/* -31- */
0x6d42, 0x6d62, 0x7581, 0x7582, 0x75a2, 0x7da1, 0x85c2, 0x85e2, 0x8602, 0x85e2, 0x8602, 0x8e02, 0x8e02, 0x9622, 0x9662, 0x9662,
0x9e62, 0xaea2, 0xaec3, 0xaec4, 0xaec3, 0xb6e3, 0xb6e4, 0xbf24, 0xc744, 0xc724, 0xbf44, 0xbf44, 0xc744, 0xc744, 0xc744, 0xc744,
0xc744, 0xcf44, 0xc724, 0xbf24, 0xbf04, 0xbf24, 0xc724, 0xc724, 0xc744, 0xbf24, 0xbf04, 0xbf04, 0xb704, 0xbf04, 0xbf04, 0xb704,
0xaee4, 0xaee4, 0xaee4, 0xaee4, 0xaee4, 0xaee4, 0x9ea2, 
/* -32- */
0x6d42, 0x6d42, 0x6d82, 0x7582, 0x75a2, 0x7da1, 0x7dc2, 0x85c2, 0x8602, 0x8602, 0x8602, 0x8e02, 0x8e22, 0x9622, 0x9662, 0x9e82,
0x9e62, 0xa682, 0xaea2, 0xaec4, 0xaec3, 0xaee3, 0xb6e4, 0xbee4, 0xbf24, 0xc704, 0xbf24, 0xbf24, 0xbf44, 0xc744, 0xcf44, 0xc744,
0xcf44, 0xcf44, 0xcf44, 0xc744, 0xc724, 0xc745, 0xcf44, 0xcf44, 0xcf44, 0xcf44, 0xc724, 0xbf04, 0xbf04, 0xbf04, 0xbf04, 0xb704,
0xaee4, 0xaee4, 0xaee4, 0xaee4, 0xaee4, 0xaf04, 0x9ea2, 
/* -33- */
0x6d42, 0x6d42, 0x6d62, 0x7582, 0x7d81, 0x7da1, 0x7dc1, 0x85c1, 0x85e2, 0x8622, 0x8602, 0x8e02, 0x8e22, 0x9622, 0x9642, 0x9e82,
0xa683, 0xa683, 0xaea3, 0xaec2, 0xaec3, 0xaee4, 0xaee4, 0xb6e4, 0xbee4, 0xbf04, 0xbee4, 0xbf04, 0xbf24, 0xc744, 0xcf44, 0xc724,
0xc724, 0xc744, 0xcf44, 0xcf44, 0xcf44, 0xcf45, 0xcf44, 0xcf44, 0xcf44, 0xcf44, 0xc745, 0xc724, 0xbf24, 0xbf04, 0xbf04, 0xaf04,
0xaee4, 0xaee4, 0xaee4, 0xaee4, 0xaee4, 0xaf04, 0xa6a3, 
/* -34- */
0x4ac2, 0x6d62, 0x6d62, 0x7562, 0x7d81, 0x7dc2, 0x7da1, 0x7da1, 0x85e2, 0x85e2, 0x85e2, 0x8e22, 0x9622, 0x9642, 0x9e62, 0x9e62,
0xa682, 0xa683, 0xa683, 0xaea3, 0xaec3, 0xaec4, 0xaee4, 0xb6e4, 0xb6e4, 0xbee4, 0xbf04, 0xbf04, 0xbf24, 0xbf44, 0xc744, 0xbf04,
0xc724, 0xc744, 0xcf44, 0xcf44, 0xcf44, 0xc745, 0xbf24, 0xc745, 0xcf44, 0xcf45, 0xcf45, 0xcf45, 0xc745, 0xbf04, 0xb704, 0xb704,
0xaee4, 0xaee4, 0xaee4, 0xaee4, 0xaee4, 0xb704, 0x9e82, 
/* -35- */
0x4ae2, 0x6d62, 0x6d42, 0x6d42, 0x7561, 0x7dc2, 0x7dc2, 0x7da1, 0x7dc1, 0x85e2, 0x85e2, 0x8e02, 0x9642, 0x9642, 0x9662, 0x9e62,
0x9e62, 0xa682, 0xa683, 0xa684, 0xa684, 0xa684, 0xaea4, 0xaec3, 0xaee4, 0xb6e4, 0xbf04, 0xbf04, 0xbf04, 0xbf24, 0xc724, 0xc724,
0xc744, 0xc744, 0xcf44, 0xcf44, 0xcf44, 0xc724, 0xbf04, 0xc744, 0xcf44, 0xcf44, 0xcf44, 0xcf44, 0xc744, 0xbf04, 0xb704, 0xb704,
0xaee4, 0xaee4, 0xaee4, 0xaee4, 0xaee4, 0xaf04, 0x7363, 
/* -36- */
0x6ce3, 0x6d62, 0x6d42, 0x7562, 0x7541, 0x7dc1, 0x7dc2, 0x7dc2, 0x85e2, 0x85e2, 0x85e2, 0x8de2, 0x8e02, 0x9622, 0x9642, 0x9662,
0x9e62, 0x9e62, 0x9e62, 0xa683, 0xa684, 0xa684, 0xa6a4, 0xaea3, 0xae83, 0xaec4, 0xb6e4, 0xb6e4, 0xbf04, 0xbf04, 0xc704, 0xbf04,
0xbf04, 0xc724, 0xcf44, 0xcf44, 0xc724, 0xc724, 0xc724, 0xc744, 0xcf44, 0xcf44, 0xcf44, 0xcf44, 0xc744, 0xbf04, 0xb704, 0xb704,
0xaee4, 0xaee4, 0xaee4, 0xaee4, 0xaee4, 0xa6e3, 0x7c42, 
/* -37- */
0x6b42, 0x6422, 0x6d62, 0x6d62, 0x7d82, 0x75a2, 0x7dc2, 0x7dc2, 0x85c2, 0x85e2, 0x8602, 0x85e2, 0x8e02, 0x8e22, 0x9642, 0x9642,
0x9662, 0x9e62, 0x9e62, 0x9e82, 0xa683, 0xa684, 0xa684, 0xaea3, 0xa6a4, 0xa6a4, 0xaec4, 0xb6e4, 0xb6e4, 0xbf04, 0xbf04, 0xbf04,
0xbf04, 0xc724, 0xcf44, 0xcf44, 0xc724, 0xc744, 0xcf44, 0xc724, 0xcf45, 0xc744, 0xcf44, 0xcf44, 0xbf24, 0xb704, 0xb704, 0xaf04,
0xaee4, 0xaee4, 0xaee4, 0xaee4, 0xaee3, 0x9ea3, 0x8e03, 
/* -38- */
0x1800, 0x5b42, 0x7582, 0x6d42, 0x7d82, 0x7da2, 0x7dc2, 0x7da1, 0x7dc1, 0x85e2, 0x85e2, 0x8602, 0x85e2, 0x8e22, 0x8e22, 0x9642,
0x9642, 0x9662, 0x9e62, 0x9e62, 0x9e82, 0xa683, 0xa683, 0xa6a3, 0xa6a4, 0xaec4, 0xaea4, 0xaec4, 0xaec4, 0xaec4, 0xaee4, 0xbf04,
0xbee4, 0xbf24, 0xc724, 0xcf44, 0xcf44, 0xcf44, 0xc744, 0xc724, 0xc744, 0xc744, 0xc744, 0xc724, 0xb704, 0xb704, 0xb6e4, 0xaee4,
0xaee4, 0xaee4, 0xaec4, 0xaee4, 0xaee3, 0x9e82, 0x9ea3, 
/* -39- */
0x0000, 0x6ca2, 0x7562, 0x6d62, 0x7562, 0x7d82, 0x7da2, 0x7da1, 0x7dc1, 0x7dc2, 0x85c2, 0x85e2, 0x85e2, 0x8602, 0x8e02, 0x8e42,
0x9642, 0x9642, 0x9642, 0x9e62, 0x9e62, 0x9e62, 0x9e62, 0xa683, 0xa684, 0xa6c4, 0xaec4, 0xaec4, 0xaec4, 0xaec4, 0xaec4, 0xb6e4,
0xb6e4, 0xbf04, 0xc704, 0xbf24, 0xc744, 0xc744, 0xc744, 0xcf44, 0xc744, 0xc724, 0xc744, 0xbf24, 0xb704, 0xb6e4, 0xaee4, 0xaee4,
0xaee4, 0xa6c4, 0xa6c3, 0xa6c3, 0xa6e3, 0x8d63, 0x7be0, 
/* -40- */
0x0000, 0x7582, 0x7522, 0x7582, 0x6d62, 0x7582, 0x7d82, 0x7da2, 0x7dc2, 0x7de2, 0x85e2, 0x85c2, 0x85e2, 0x85e2, 0x8602, 0x8e22,
0x8e22, 0x9642, 0x9642, 0x9662, 0x9662, 0x9e62, 0x9e62, 0x9e82, 0xa683, 0xa683, 0xa6a4, 0xa6c4, 0xaec4, 0xaec4, 0xaec4, 0xb6e4,
0xb6e4, 0xbf04, 0xbf04, 0xbf04, 0xbf04, 0xc724, 0xcf44, 0xcf44, 0xc744, 0xc744, 0xc724, 0xb704, 0xaf04, 0xaee4, 0xaee4, 0xaee4,
0xaee3, 0x9ea2, 0xa683, 0x9ec3, 0x9683, 0x8e22, 0x0000, 
/* -41- */
0x0000, 0x0000, 0x63c2, 0x7502, 0x6d42, 0x6d62, 0x7582, 0x7582, 0x75a2, 0x7dc2, 0x85c2, 0x85c2, 0x85e2, 0x8602, 0x8602, 0x8e02,
0x8e02, 0x8e22, 0x9642, 0x9642, 0x9662, 0x9662, 0x9e62, 0x9e62, 0x9e62, 0x9e83, 0xa683, 0xa683, 0xaec4, 0xaee4, 0xaee4, 0xaee4,
0xb6e4, 0xbee4, 0xbf04, 0xbf04, 0xbee4, 0xbf04, 0xc704, 0xc724, 0xc724, 0xbf04, 0xb704, 0xb704, 0xaee4, 0xaee4, 0xaee4, 0xa6e4,
0x9ec3, 0x9ea2, 0x9ea2, 0x9ea2, 0x9662, 0x0000, 0x0000, 
/* -42- */
0x0000, 0x0000, 0x4002, 0x6c82, 0x7582, 0x7542, 0x6d62, 0x7562, 0x7582, 0x7da2, 0x7da2, 0x7da2, 0x85c2, 0x8602, 0x8602, 0x8602,
0x85e1, 0x8e01, 0x8e22, 0x8e42, 0x9642, 0x9662, 0x9682, 0x9e62, 0x9e62, 0xa6a3, 0xa683, 0xa683, 0xa6a4, 0xaec4, 0xaee4, 0xb6e4,
0xbf04, 0xbee4, 0xbee4, 0xbee4, 0xbee4, 0xbee4, 0xbee4, 0xbf04, 0xbf04, 0xbf04, 0xb704, 0xaf04, 0xaee4, 0xaee3, 0xa6e4, 0xa6e3,
0x9ea2, 0x9e82, 0xa6c2, 0x9682, 0x8e82, 0x0000, 0x0000, 
/* -43- */
0x0000, 0x0000, 0x0000, 0x63e2, 0x7522, 0x7542, 0x6d42, 0x6d62, 0x7581, 0x7582, 0x7da1, 0x7da1, 0x7da2, 0x85c2, 0x85e2, 0x8602,
0x85e2, 0x8601, 0x8e01, 0x8e22, 0x8e42, 0x8e42, 0x9662, 0x9682, 0x9642, 0x9642, 0x9e83, 0xa683, 0xa683, 0xa6a4, 0xa6a4, 0xaec4,
0xb6e4, 0xb6e4, 0xb6c4, 0xb6e4, 0xbee4, 0xb6e4, 0xbee4, 0xb6e4, 0xb6e4, 0xaf04, 0xaee4, 0xaec3, 0xaec3, 0xa6a2, 0x9ea3, 0x9ea2,
0x9e82, 0x9ea2, 0x9682, 0x8e63, 0x0000, 0x0000, 0x0000, 
/* -44- */
0x0000, 0x0000, 0x0000, 0x0000, 0x5ac2, 0x6d22, 0x7542, 0x6d42, 0x7582, 0x7582, 0x7582, 0x7da1, 0x7dc2, 0x7dc2, 0x85e2, 0x85e2,
0x85e2, 0x8601, 0x8601, 0x8e02, 0x8e22, 0x8e22, 0x9642, 0x9662, 0x9662, 0x9e62, 0x9e62, 0x9e62, 0xa683, 0xa684, 0xa684, 0xa6a4,
0xb6c4, 0xb6e4, 0xb6e4, 0xb6e4, 0xb6e4, 0xb6e4, 0xb6c4, 0xaec4, 0xaec4, 0xaee4, 0xaec3, 0xa6a2, 0x9ea2, 0x9e82, 0x9e82, 0x9e82,
0x9ea2, 0x9642, 0x7ca2, 0x0000, 0x0000, 0x0000, 0x0000, 
/* -45- */
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x52a2, 0x7542, 0x7562, 0x6d62, 0x7562, 0x7562, 0x75a2, 0x7dc2, 0x7dc1, 0x7dc1, 0x85c2,
0x85e2, 0x8602, 0x85e2, 0x8602, 0x8e02, 0x8e22, 0x8e42, 0x9642, 0x9662, 0x9e62, 0x9e62, 0x9e42, 0xa683, 0xa683, 0xa684, 0xa683,
0xaea4, 0xb6c4, 0xb6e4, 0xb6e4, 0xb6e4, 0xaec4, 0xaec4, 0xaec4, 0xaec4, 0xaec3, 0xa683, 0x9e82, 0x9e82, 0x9e82, 0x9e82, 0x9ea2,
0x8e22, 0x73e2, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 
/* -46- */
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7ea0, 0x6d22, 0x7542, 0x7562, 0x7562, 0x7582, 0x7582, 0x75a2, 0x7dc1, 0x7dc1, 0x7dc2,
0x85e2, 0x85e2, 0x85e2, 0x85e2, 0x8602, 0x8e02, 0x8e22, 0x8e42, 0x9642, 0x9662, 0x9e82, 0x9e62, 0xa682, 0xa682, 0xa683, 0x9e42,
0xa6a4, 0xaea4, 0xaea4, 0xaea4, 0xaea4, 0xaec4, 0xaec4, 0xaea4, 0xa683, 0x9e83, 0x9e62, 0x9e82, 0x9662, 0x9e82, 0x9ea2, 0x8e02,
0x7442, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 
/* -47- */
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5543, 0x6d22, 0x7562, 0x7582, 0x7582, 0x7582, 0x75a2, 0x7da2, 0x7da2, 0x7da2,
0x7de2, 0x85c2, 0x85e2, 0x8602, 0x85e2, 0x85e2, 0x8e22, 0x8e22, 0x9642, 0x9642, 0x9662, 0x9e82, 0xa6a2, 0xa6a2, 0xa682, 0xa682,
0xa683, 0xa684, 0xa6a4, 0xa683, 0xa683, 0xa6a4, 0xa6a3, 0xa684, 0x9663, 0x9662, 0x9662, 0x9662, 0x9662, 0x9662, 0x8e02, 0x7d02,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 
/* -48- */
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6583, 0x6d42, 0x6d62, 0x7562, 0x7562, 0x7582, 0x7d82, 0x7da2, 0x7561,
0x7dc2, 0x7da2, 0x85e2, 0x85c2, 0x85e2, 0x85e2, 0x8e02, 0x8e02, 0x9622, 0x9642, 0x9642, 0x9e82, 0xa6a2, 0xa6a2, 0xa682, 0xa682,
0xa682, 0xa683, 0xa6a3, 0x9e62, 0x9e62, 0x9e83, 0x9e62, 0x9663, 0x9642, 0x8e42, 0x8e42, 0x8e42, 0x9682, 0x8e02, 0x8562, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 
/* -49- */
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3be0, 0x5b62, 0x6d22, 0x6d42, 0x7562, 0x7582, 0x7dc2, 0x7da1,
0x7da1, 0x7561, 0x7da2, 0x7dc2, 0x85c2, 0x85e2, 0x8de2, 0x8e02, 0x9622, 0x9642, 0x9e42, 0x9e82, 0xa682, 0x9e62, 0x9e62, 0x9e82,
0xa682, 0x9e62, 0x9e62, 0x9662, 0x9662, 0x9642, 0x8e22, 0x8e42, 0x8e42, 0x8e42, 0x8e42, 0x8e42, 0x4b01, 0x7de1, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 
/* -50- */
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6442, 0x6d22, 0x6d22, 0x7562, 0x7562, 0x7582,
0x7582, 0x7582, 0x75c2, 0x7dc2, 0x7dc2, 0x85c2, 0x85e2, 0x8e02, 0x8e22, 0x8e22, 0x9642, 0x9642, 0x9662, 0x9662, 0x9662, 0x9662,
0x9662, 0x9662, 0x9642, 0x9622, 0x9622, 0x8e42, 0x8e22, 0x8e22, 0x9662, 0x9662, 0x8e22, 0x6422, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 
/* -51- */
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6c63, 0x6d22, 0x6d42, 0x6d62,
0x75a2, 0x7dc2, 0x7e02, 0x7dc2, 0x7dc2, 0x7dc2, 0x85c2, 0x85c2, 0x85e1, 0x8e02, 0x8e22, 0x9642, 0x9642, 0x9642, 0x9662, 0x9622,
0x9622, 0x8e22, 0x8e02, 0x8e02, 0x8e02, 0x8e22, 0x8e42, 0x9642, 0x8e02, 0x8de2, 0x8581, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 
/* -52- */
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6502, 0x6d22,
0x7542, 0x6d62, 0x6d62, 0x75a2, 0x8602, 0x7de2, 0x7de2, 0x85c2, 0x7da1, 0x8602, 0x8e02, 0x8e02, 0x8e02, 0x8e02, 0x8e02, 0x8e02,
0x8e22, 0x8e02, 0x8e22, 0x8e22, 0x8e62, 0x8601, 0x8601, 0x85c1, 0x85c1, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 
/* -53- */
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x6d22, 0x6d42, 0x6d42, 0x6cc1, 0x75a2, 0x75a2, 0x7dc2, 0x7da2, 0x85e2, 0x85e2, 0x85e2, 0x8602, 0x8602, 0x85e2, 0x8602,
0x7dc2, 0x7dc1, 0x7dc1, 0x7d81, 0x6c61, 0x7de2, 0x7d82, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 
/* -54- */
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x64c3, 0x7da3, 0x7da2, 0x7582, 0x7dc1, 0x6d41, 0x5b81, 0x5b21, 0x7d61, 0x7dc1, 0x7da1,
0x7d81, 0x7582, 0x7d81, 0x63e0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 
};


 uint16_t lcd_clear[240]={0};
int32_t Disp0_DrawBitmap(int16_t x,
                        int16_t y,
                        int16_t width,
                        int16_t height,
                        const uint8_t *bitmap)
{

      //printf("%s\r\n",__FUNCTION__);
      //printf("iX %d,iY %d,iWidth %d,iHeight %d\r\n",x,y,width,height);
      LCD_Display_8bit(x, y,width,height,bitmap);




}


void __disp_adapter0_request_async_flushing(
                                                    void *pTarget,
                                                    bool bIsNewFrame,
                                                    int16_t iX,
                                                    int16_t iY,
                                                    int16_t iWidth,
                                                    int16_t iHeight,
                                                    const uint16_t *pBuffer){


       //printf("iX %d,iY %d,iWidth %d,iHeight %d\r\n",iX,iY,iWidth,iHeight);
         LCD_Display_16bit(iX, iY,iWidth,iHeight,(uint16_t *)pBuffer);

}






/* Global define */

/* Global Variable */

/*********************************************************************
 * @fn      GPIO_Toggle_INIT
 *
 * @brief   Initializes GPIOA.0
 *
 * @return  none
 */
void GPIO_Toggle_INIT(void)
{
    GPIO_InitTypeDef GPIO_InitStructure = {0};

    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
    GPIO_Init(GPIOA, &GPIO_InitStructure);
}


/* Global Variable */
void SysTick_Handler(void) __attribute__((interrupt("WCH-Interrupt-fast")));

//void SysTick_Handler(void) __attribute__((interrupt()));

__IO int64_t counter = 0;



void SYSTICK_Init_Config(u64 ticks)
{


    SysTick->CTLR = 0x00000000;             //控制寄存器复位

    SysTick->SR = 0x00000000;               //状态寄存器复位

    SysTick->CNT = 0x00000000;              //计数器复位，设置初始值为0

    SysTick->CMP = ticks;                   //给重加载寄存器赋值

    NVIC_SetPriority(SysTicK_IRQn, 15);     //设置SysTick中断优先级

    NVIC_EnableIRQ(SysTicK_IRQn);           //使能开启Systick中断

    SysTick->CTLR |= 0x0000000B;            //启动系统计数器STK（HCLK/8时基）


}

void SysTick_Handler(void)
{
   // printf("Counter:%d\r\n",counter);
    //printf("welcome to WCH\r\n");
    //if(SysTick->SR){
 

//    SysTick->CTLR= 0;
//    SysTick->SR  = 0;
//    SysTick->CNT = 0;
//    SysTick->CMP = (SystemCoreClock -1)/1000;
//    SysTick->CTLR= 0xf;

    SysTick->SR = 0;
    counter ++;
//    //}
//



    //printf("CNT:%d\r\n",(u32)SysTick->CNT);

   // SysTick->CTLR=0;

    //SysTick->SR=0;


}

//  __IO int64_t arm_2d_helper_get_system_timestamp(void)
__IO int64_t arm_2d_helper_get_system_timestamp(void)
{
    __IO int64_t  ticks = 0;

    ticks = counter;
    // 打印高32位和低32位
     //printf("qixin  high: %d, low: %u\r\n", (int32_t)(ticks >> 32), (uint32_t)ticks);
    return ticks&0xffffffff;
}


 
// uint32_t arm_2d_helper_get_reference_clock_frequency(void)
uint32_t arm_2d_helper_get_reference_clock_frequency(void)
{
    return 10000/*SystemCoreClock*/;
}


/*********************************************************************
 * @fn      main
 *
 * @brief   Main program.
 *
 * @return  none
 */
int main(void)
{

    //u8 i = 0;


    SystemCoreClockUpdate();
    NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1);

    Delay_Init();
    USART_Printf_Init(115200);
    printf("SystemClk:%d\r\n", SystemCoreClock);


    printf( "ChipID:%08x\r\n", DBGMCU_GetCHIPID() );
    printf("GPIO Toggle TEST\r\n");
    //GPIO_Toggle_INIT();
    IIC_Init();



    NVIC_DisableIRQ(SysTicK_IRQn);           //使能开启Systick中断




#if 1
    LCD_Init();

//    memset(lcd_clear ,0xff,sizeof(lcd_clear));
//    for(int i = 0;i<280;i++){
//    LCD_Display_8bit(0,i,240,1,lcd_clear);
//    }
    arm_irq_safe {
   arm_2d_init(); // ??? arm-2d
}

    //Display Adapter 0
   disp_adapter0_init();



    arm_2d_scene_watch_init(&DISP0_ADAPTER);

    arm_2d_scene_player_set_switching_mode( &DISP0_ADAPTER,
                                                                       //ARM_2D_SCENE_SWITCH_MODE_SLIDE_LEFT
                                                                       //ARM_2D_SCENE_SWITCH_MODE_FADE_WHITE
                                                                        //ARM_2D_SCENE_SWITCH_MODE_FADE_BLACK
                                 ARM_2D_SCENE_SWITCH_MODE_SLIDE_DOWN
   );


   // SYSTICK_Init_Config((SystemCoreClock)/144000);
#endif
    SYSTICK_Init_Config((SystemCoreClock)/80000);

__IO int64_t num = 4294967295;

//while(1){
//
//    num++;
//    printf("tick %d\r\n", num);
//    printf("tick high: %d, low: %d\r\n" ,(int32_t)(num >> 32), (int32_t)num);
//}

    unsigned int x = 0x12345678;
       unsigned char *c = (unsigned char*)&x;

       if (*c == 0x78) {
           printf("Little Endian\n");
       } else if (*c == 0x12) {
           printf("Big Endian\n");
       } else {
           printf("Unknown Endian\n");
       }


    //PRINT("main %d\r\n",get_system_timestamp());
   // PRINT("main %d\r\n",get_reference_clock_frequency());

    __IO uint64_t tick = 0;
    while(1)
    {
//       tick = arm_2d_helper_get_system_timestamp();
//       printf("tick  high: %d, low: %u\r\n", (int32_t)(tick >> 32), (uint32_t)tick);
//       printf("qixin  %" PRIi64 "\r\n", tick);

        //printf("tick %d\r\n",tick);
        //PRINT("main %d\r\n",get_system_timestamp());
        //PRINT("main %d\r\n",get_reference_clock_frequency());
//        printf("main %d\r\n",counter);

//       PRINT("main %d %d\r\n",get_system_timestamp(),get_reference_clock_frequency());
        disp_adapter0_task();
        //Delay_Ms(250);
//        GPIO_WriteBit(GPIOA, GPIO_Pin_0, (i == 0) ? (i = Bit_SET) : (i = Bit_RESET));
    }
}
